const express = require("express");
const bodyParser = require("body-parser");

const mysql=require('mysql');
const app=express();
app.use(express.static('www'));
app.use(bodyParser.urlencoded({extended:false}));

const mysqli = mysql.createConnection({
    host:'localhost',//ip
    user:'root',//用户名
    password:'root',//密码
    database:'lianxi'//要连接的数据库名称
})
// 判断数据库是否连接成功
mysqli.connect(function(err){
    if(err){
        console.log("连接数据库失败");
    }
})


app.post("/zhuce",(req,res)=>{
    // 获取客户端传递过来的数据
    console.log(req.body); //{ username: 'aaa', password: '123' }
    // 判断数据库的users表格中是否有这个用户
    // 从数据库获取这个表格中的所有数据
    // 跟每一条数据进行判断与req.body中的用户是否有一样的
    var sql = "select * from users";
    mysqli.query(sql,function(err,data){
        if(err){
            res.json({success:0,data:"注册失败(sql查询语句失败)"})
        }else{
            // console.log(data); //是个数组 有用户是数组没有用户是空
            var isShow = true;
            for(var i = 0;i < data.length;i++){
                if(req.body.username == data[i].username){
                    isShow = false;
                }
            }
            if(isShow){
                // 表示上面的循环内的判断没有被执行过 即当前用户不存在
                var sql2 = `insert into users(username,password) values ("${req.body.username}","${req.body.password}")`;
                mysqli.query(sql2,function(err2){
                    if(err){
                        res.json({success:0,data:"注册失败(新增的sql语句执行失败)"})
                    }else{
                        res.json({success:1,data:"注册成功"})
                    }
                })
            }else{
                res.json({success:0,data:"当前用户已存在"})
            }

        }
    })
  
})

app.post("/login",function(req,res){
    console.log("登录接收到的数据");
    console.log(req.body);
    // 判断当前用户是否存在
    // 用户存在再判断密码是否正确
    // 查询数据库users表格中是否有当前用户
    var sql = "select * from users";
    mysqli.query(sql,function(err,data){
        if(err){
            res.json({success:0,data:"登录失败(sql查询语句失败)"})
        }else{
            // console.log(data); //是个数组 有用户是数组没有用户是空
            var isShow = true;
            var pass = null;
            for(var i = 0;i < data.length;i++){
                if(req.body.username == data[i].username){
                    isShow = false;
                    pass = data[i].password;
                }
            }
            // 判断当前用户是否存在
            if(isShow){
                // 表示上面的循环内的判断没有被执行过 即当前用户不存在
               res.json({success:0,data:"当前用户不存在"})
            }else{
                if(req.body.password == pass){
                    res.json({success:0,data:"登录成功"})
                }else{
                    res.json({success:0,data:"密码错误"})
                }
            }
        }
    })
})

 app.listen(3000,function () {
    console.log('http://localhost:3000');
 })